<?php
require_once '../includes/functions.php';
check_login();

header('Content-Type: application/json');

// 获取POST数据
$data = json_decode(file_get_contents('php://input'), true);
$template_name = $data['template'] ?? '';
$subdomain = $data['subdomain'] ?? '';
$filename = $data['filename'] ?? '';

// 至少需要提供一个参数
if ((empty($template_name) && empty($subdomain)) || empty($filename)) {
    http_response_code(400);
    echo json_encode(['error' => '参数错误：需要提供template或subdomain参数，以及filename参数']);
    exit;
}

// 验证文件名格式
if (!preg_match('/^[a-zA-Z0-9-_\.]+$/', $filename)) {
    http_response_code(400);
    echo json_encode(['error' => '无效的文件名']);
    exit;
}

// 根据参数类型确定资源路径
if (!empty($subdomain)) {
    // 验证子域名格式
    if (!preg_match('/^[a-zA-Z0-9-]+$/', $subdomain)) {
        http_response_code(400);
        echo json_encode(['error' => '无效的子域名']);
        exit;
    }
    
    $base_dir = "../landing_pages/{$subdomain}";
    $resources_dir = "{$base_dir}/resources";
} else {
    // 验证模板名称格式
    if (!preg_match('/^[a-zA-Z0-9-_]+$/', $template_name)) {
        http_response_code(400);
        echo json_encode(['error' => '无效的模板名称']);
        exit;
    }
    
    $template_path = get_template_path($template_name);
    $resources_dir = $template_path . '/resources';
    
    // 检查模板是否存在
    if (!file_exists($template_path) || !is_dir($template_path)) {
        http_response_code(404);
        echo json_encode(['error' => '模板不存在']);
        exit;
    }
}

$file_path = $resources_dir . '/' . $filename;
$resources_file = $resources_dir . '/resources.json';

// 检查资源目录是否存在
if (!file_exists($resources_dir) || !is_dir($resources_dir)) {
    http_response_code(404);
    echo json_encode(['error' => '资源目录不存在']);
    exit;
}

// 检查文件是否存在
if (!file_exists($file_path)) {
    http_response_code(404);
    echo json_encode(['error' => '文件不存在']);
    exit;
}

// 读取资源信息
$resources = [];
if (file_exists($resources_file)) {
    $resources = json_decode(file_get_contents($resources_file), true) ?? [];
}

// 从资源列表中移除
$resources = array_filter($resources, function($resource) use ($filename) {
    return $resource['filename'] !== $filename;
});

// 删除文件
if (!unlink($file_path)) {
    http_response_code(500);
    echo json_encode(['error' => '删除文件失败']);
    exit;
}

// 保存更新后的资源信息
if (file_put_contents($resources_file, json_encode(array_values($resources), JSON_PRETTY_PRINT)) === false) {
    http_response_code(500);
    echo json_encode(['error' => '保存资源信息失败']);
    exit;
}

echo json_encode([
    'success' => true,
    'message' => '资源删除成功'
]);
